#ifndef PROFILEWIDGET_H
#define PROFILEWIDGET_H

#include <QWidget>
#include <QMessageBox>
#include "databasemanager.h"

QT_BEGIN_NAMESPACE
namespace Ui {
class ProfileWidget;
}
QT_END_NAMESPACE

class ChangePasswordDialog;

class ProfileWidget : public QWidget
{
    Q_OBJECT

public:
    explicit ProfileWidget(QWidget *parent = nullptr);
    ~ProfileWidget();
    
    // 设置当前用户信息
    void setCurrentUser(const UserInfo& userInfo);
    
    // 刷新用户信息显示
    void refreshUserInfo();

signals:
    // 需要退出登录信号
    void logoutRequired();

private slots:
    // 修改密码按钮点击事件
    void onChangePasswordClicked();
    
    // 刷新信息按钮点击事件
    void onRefreshClicked();
    
    // 密码修改成功后的处理
    void onPasswordChanged();

private:
    // 加载用户信息到界面
    void loadUserInfo();
    
    // UI对象
    Ui::ProfileWidget *ui;
    
    // 当前用户信息
    UserInfo m_currentUser;
};

#endif // PROFILEWIDGET_H